package com.example.transferaccount;

import android.os.Bundle;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //点击按钮执行该方法
    public void transferaccount(View v){
        //1.创建一个帮助类的对象
        MyHeaper bankOpenHelper = new MyHeaper(this);
        //2.调用数据库帮助类对象的getReadableDatabase创建数据库，初始化表数据，获取一个SqliteDatabase对象去做转账（sql语句）
        SQLiteDatabase db = bankOpenHelper.getReadableDatabase();
        //3.转账,将李四的钱减200，张三加200
        db.beginTransaction();//开启一个数据库事务
        try {
            db.execSQL("update account set money= money-200 where name=?",new String[]{"李四"});
            int i = 100/0;//模拟一个异常
            db.execSQL("update account set money= money+200 where name=?",new String[]{"张三"});
            db.setTransactionSuccessful();//标记事务中的sql语句全部成功执行
        } finally {
            db.endTransaction();//判断事务的标记是否成功，如果不成功，回滚错误之前执行的sql语句
        }
    }
}